51单片机实现光敏电阻控制LED灯亮灭 |
您所在的位置:网站首页 › psp LR键加led灯 电阻 › 51单片机实现光敏电阻控制LED灯亮灭 |
一、概述
1.光敏电阻简介
光敏电阻(photoresistor or light-dependent resistor,后者缩写为ldr)或光导管(photoconductor),常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。 光敏电阻是用硫化镉或硒化镉等半导体材料制成的特殊电阻器,其工作原理是基于内光电效应。光照愈强,阻值就愈低,随着光照强度的升高,电阻值迅速降低,亮电阻值可小至1KΩ以下。光敏电阻对光线十分敏感,其在无光照时,呈高阻状态,暗电阻一般可达1.5MΩ。光敏电阻的特殊性能,随着科技的发展将得到极其广泛应用。 [1] 光敏电阻器是利用半导体的光电导效应制成的一种电阻值随入射光的强弱而改变的电阻器,又称为光电导探测器;入射光强,电阻减小,入射光弱,电阻增大。还有另一种入射光弱,电阻减小,入射光强,电阻增大。 光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.4~0.76)μm的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。设计光控电路时,都用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化。 2.ADC数模转换数模转换器,又称D/A转换器,简称DAC,它是把数字量转变成模拟的器件。D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。模数转换器中一般都要用到数模转换器,模数转换器即A/D转换器,简称ADC,它是把连续的模拟信号转变为离散的数字信号的器件。 如何检测外部模拟信号,因为我们使用的 STC89C5x 单片机内部不含 ADC 接口,所以需要外接一个 ADC 转换芯片将模拟信号转换成数字信号供单片机 处理。我们开发板上集成了一个ADC 模数转换电路,选用的 ADC 芯片是 12 位的 AD 芯片-XPT2046。这里要实现的功能是:通过ADC 转换电路采集电位器电压值, 将采集转换后的 AD 值通过数码管显示。 我们知道 51 单片机系统内部运算时用的全部是数字量,即 0 和 1,因此对 单片机系统而言,无法直接操作模拟量,必须将模拟量转换成数字量。所谓数字 量,就是用一系列 0 和 1 组成的二进制代码表示某个信号大小的量。用数字量 表示同一个模拟量时,数字位数可以多也可以少,位数越多则表示的精度越高, 位数越少表示的精度就越低。 3.XPT2046 芯片介绍 XPT2046 是一款 4 线制电阻式触摸屏控制器,内含 12 位分辨率 125KHz 转换速率逐步逼近型 A/D 转换器。XPT2046 支持从 1.5V 到 5.25V 的低电压 I/O 接口。XPT2046 能通过执行两次 A/D 转换查出被按的屏幕位置,除此之外, 还可以测量加在触摸屏上的压力。内部自带 2.5V 参考电压,可以作为辅助输入、 温度测量和电池监测之用,电池监测的电压范围可以从 0V 到 6V。XPT2046 片 332内集成有一个温度传感器。在 2.7V 的典型工作状态下,关闭参考电压,功耗可 小于 0.75mW。XPT2046 采用微小的封装形式:TSSOP-16,QFN-16 和 VFBGA-48。 工作温度范围为-40℃~+85℃。与 ADS7846、TSC2046、AK4182A 完全兼容。 主要特性: ①工作电压范围为 1.5V~5.25V ②支持 1.5V~5.25V 的数字 I/O 口 ③内建 2.5V 参考电压源 ④电源电压测量( 0V~6V) ⑤内建结温测量功能 ⑥触摸压力测量 ⑦采用 3 线制 SPI 通信接口 ⑧具有自动省电功能![]() ![]() ![]() ![]() ![]() 光敏电阻的工作原理是基于内光电效应。在半导体光敏材料两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻,为了增加灵敏度,两电极常做成梳状。用于制造光敏电阻的材料主要是金属的硫化物、硒化物和碲化物等半导体。通常采用涂敷、喷涂、烧结等方法在绝缘衬底上制作很薄的光敏电阻体及梳状欧姆电极,接出引线,封装在具有透光镜的密封壳体内,以免受潮影响其灵敏度。入射光消失后,由光子激发产生的电子—空穴对将复合,光敏电阻的阻值也就恢复原值。在光敏电阻两端的金属电极加上电压,其中便有电流通过,受到一定波长的光线照射时,电流就会随光强的增大而变大,从而实现光电转换。光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也加交流电压。半导体的导电能力取决于半导体导带内载流子数目的多少。 2.ADC转换原理 AD 转换器(ADC)将模拟量转换为数字量通常要经过 4 个步骤:采样、保持、 量化和编码。所谓采样即是将一个时间上连续变化的模拟量转换为时间上离散变化的模拟量。如下图所示: 将采样结果存储起来,直到下次采样,这个过程叫做保持。一般采样器和保 持电路一起总称为采样保持电路。![]() main.c #include "regx52.h" #include "LCD1602.h" #include "stdio.h" #include "xpt2046.h" #include "delay.h" sbit LED1 = P2^0; unsigned int light_value = 0; void main() { lcd1602_init(); while(1) { char buf[20] = {0}; light_value = xpt2046_read_adc_value(0xA4); sprintf(buf,"value=%4d",light_value); lcd1602_show_string(1,0,buf); Delay1_ms(100); if(light_value < 100) LED1 = 0; else LED1 = 1; } }xtp2046.c #include "xpt2046.h" #include "intrins.h" /******************************************************************************* * 函 数 名 : xpt2046_wirte_data * 函数功能 : XPT2046写数据 * 输 入 : dat:写入的数据 * 输 出 : 无 *******************************************************************************/ void xpt2046_wirte_data(u8 dat) { u8 i; CLK = 0; _nop_(); for(i=0;i> 7;//先传高位再传低位 dat |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |